Configuring Replication
In order for a replicated service to start it must have all required keywords enabled and configured in its configuration file. This also includes keywords for associated services, even though in the replicated system those services do not have a true relationship. For example, in the UIS service configuration file, the PNT keyword is a required parameter. In a non-replicated UIS this keyword specifies the name of the PNT that contains all operational parameters for real-time points in the CygNet system. In a replicated UIS, however, the service gets all of its information, including point information, from the source PNT, not the replicated PNT.
To Configure and Start Replication
- Add an ARS and RSM to the host server for the replicated services. These services must have the same name as the source services.
- Set the Domain ID of the replicated host server to an ID other than that of the source services host server.
- Add the folders and files for the replicated services.
- Configure the replicated services keyword using the Config File Manager.
- In the service configuration files, enable the replication keywords listed below.
- For REPL_SOURCE, specify the name of the source service.
- Save the changes and close the file.
- Start the services. The replicated services will sync with the source services. The amount of time to complete the synchronization depends on the amount of data and the network bandwidth.
Replication Configuration Keywords
The following table contains descriptions for all the service configuration keywords required to enable replication. In general, a replicated service pulls data from a source service. As such, replication keywords are generally enabled in the replicated service. If a keyword needs to be enabled in the source service's configuration file, it is noted below.
| Keyword | Description |
|---|---|
|
CHANGE_QUEUE_SIZE |
CHANGE_QUEUE_SIZE sets the size of the service change queue that contains the incremental changes to the data in the source service. This is the number of changes the service will store to answer replication requests before expiring the oldest changes. Notes: This keyword is initially commented out by default. Uncomment the line and enter a valid value to use anything other than the default value. If 0 is specified, the change notification is disabled. This keyword is specified in the configuration file for the source service. The CHANGE_QUEUE_SIZE (Change Update Queue Size) info item will report configured size of the service change queue. Applies to all services except ARS, FMS, and RSM. |
|
REPL_SOURCE |
The REPL_SOURCE keyword specifies the Domain and Site.Service name for the source service to be replicated in the format [DDDD]SITE.SERVICE. The REPL_SOURCE value requires the same service name, with a different domain prefix. If not specified, replication is disabled. Applies to all services except ARS, FMS, and RSM. Note: This keyword is specified in the configuration file for the replicated (destination) service. The REPL_SOURCE (Repl Source Service) info item will report the source service name from which the replicated service is requesting changes. For the APPS and ELSALM services, be sure the REPL_SOURCE keyword is the site and service name of APPS or ELSALM respectively. |
|
REPL_CHECK_INTERVAL |
REPL_CHECK_INTERVAL indicates the interval (in seconds) to check before performing the next replication synchronization. This value determines the replication synchronization frequency. After performing a sync, a replicating service will subtract the amount of time the sync took from the check interval time to determine how long to wait until the next sync. For example, if the check interval is 60 seconds and the sync takes 40 seconds, the service will only wait 20 seconds before starting the next sync. If the whole sync time exceeds the frequency, then the replicating service will wait for half the sync interval (30 seconds in this case) before starting the next sync. Note: This keyword is specified in the configuration file for the replicated (destination) service. The REPL_CHECK_INTERVAL (Repl Poll Secs) info item will report the interval that a replicated service will check the source change queue for new updates. If the service is not replicating REPL_CHECK_INTERVAL will respond with an empty string. Applies to all services except the ARS and RSM. |
|
REPL_DELAY_MAX |
REPL_DELAY_MAX indicates the number of seconds a service is allowed to be behind in replication before it is considered to be behind. If this keyword is disabled, the value defaults to double the REPL_CHECK_INTERVAL time. Best practice recommends enabling and setting a meaningful value for REPL_DELAY_MAX for all replicating services. A recommended value would be a longer time interval than you would expect any sync interval to take. Note: This keyword is specified in the configuration file for the replicated service. The REPL_DELAY_MAX (Allowed repl delay) info item will report the time elapsed since the service was last fully in sync. Time is calculated as the delta between "now" and the end of the last full sync that has completed. If the time since the last successful sync exceeds the REPL_DELAY_MAX value, and the REPL_INT_VAL_STATE (Int repl val state) info item is currently "Normal", then the REPL_INT_VAL_STATE info item is set to "Delayed." The state can only be set back to "Normal" when the time between two syncs is less than the REPL_DELAY_MAX time. Applies to all services except the ARS and RSM. |
|
REPL_RETRY_SECS |
REPL_RETRY_SECS specifies the interval (in seconds) for retrying a replication update that failed. Note: This keyword is specified in the configuration file for the replicated service. Applies to all DBS-based services. |
|
REPL_ERR_QUEUE_MAX |
REPL_ERR_QUEUE_MAX specifies how many error entries are allowed in temporary storage. When this number is exceeded, replication processing will only process the error queue, nothing else. No new notifications will be accepted, and if a resynchronization is in progress, it will be suspended. Note: This keyword is not currently implemented. |
|
SUPPRESS_SCRUBBER_REPL |
The SUPPRESS_SCRUBBER_REPL keyword specifies whether the replication of DDS Transaction deletes is suppressed or not. You can optionally suppress the replication of DDS Transaction deletes caused by the background transaction scrubbing process. This will eliminate the periodic spike in the DDS replication queue entries and the corresponding delay in UIS Command transaction replication, which may cause ForeSite timeouts. The DDS_NO_SCRUB_REPL (DDS No Scrub Replication) info item will report whether the replication of DDS Transaction deletes is suppressed or not. Applies to DDS only. |
Service Specific Replication Keywords
Some services have replication specific keywords:
- ALLOWED_REPL_COMMANDS — Allows a replicated UIS to forward UIS commands to its source UIS. See Sending UIS Commands from a Replicated Service.
- REPL_FORWARD_DIRECTORY — Allows setpoint commands issued to a replicated CAS or OPCIS to be written out as an XML file to a specified directory. See Replication Command Forwarding for more information.
- REPL_FORWARD_MAX_FILES — Specifies the maximum number of files specified by REPL_FORWARD_DIRECTORY. Applies only to CAS or OPCIS. See Replication Command Forwarding for more information.


